.TH std::counting_semaphore::try_acquire_until 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::counting_semaphore::try_acquire_until \- std::counting_semaphore::try_acquire_until

.SH Synopsis
   template< class Clock, class Duration >
   bool try_acquire_until( const std::chrono::time_point<Clock,           \fI(since C++20)\fP
   Duration>& abs_time );

   Tries to atomically decrement the internal counter by 1 if it is greater than 0;
   otherwise blocks until it is greater than 0 and can successfully decrement the
   internal counter, or the abs_time time point has been passed.

   The programs is ill-formed if std::chrono::is_clock_v<Clock> is false.

.SH Preconditions

   Clock meets the Clock requirements.

.SH Parameters

   abs_time - the earliest time the function must wait until in order to fail

.SH Return value

   true if it decremented the internal counter, otherwise false.

.SH Exceptions

   May throw std::system_error or a timeout-related exception.

.SH Notes

   In practice the function may take longer than abs_time to fail.

.SH See also

   release         increments the internal counter and unblocks acquirers
                   \fI(public member function)\fP
   acquire         decrements the internal counter or blocks until it can
                   \fI(public member function)\fP
   try_acquire     tries to decrement the internal counter without blocking
                   \fI(public member function)\fP
                   tries to decrement the internal counter, blocking for up to a
   try_acquire_for duration time
                   \fI(public member function)\fP
